You may click on "Download Task Files" to download complete task/project files. You will get Presentation with speaker notes, MS Word, MS Excel and all other task files in single zipped folder. The code files in projects are well commented that will help you understand the code easily. You may also contact us via email/whatsapp to order for a specific task as per your needs.

Data Structures: Data Management with CSC-221 Data Structures Lab Assignment B

About this Lab Assignment

The "HND SEC4205 Database Design and Development Assignment: Personal DVD Library" is a pivotal undertaking in the realm of Higher National Diploma (HND) studies, specifically for students enrolled in the SEC4205 course. This comprehensive assignment immerses students in the intricacies of database design and development, offering them a hands-on opportunity to construct a database tailored to a real-world scenario—a personal DVD library. The assignment commences with the creation of an Entity-Relationship (ER) diagram, serving as the foundational blueprint for the entire database design process. The crux of this assignment revolves around the ER diagram, an indispensable tool in database design. Students are tasked with crafting a visual representation that delineates the essential entities within the personal DVD library, defining their attributes and specifying the relationships that exist between them. This critical step bridges the theoretical concepts learned throughout the SEC4205 course with practical application, enabling students to conceptualize the structure of their database. Entities mapping is another pivotal phase of this assignment, wherein students translate the abstract entities outlined in the ER diagram into tangible database tables. This transformation is where theory meets practice, as students work to create structured tables that accurately represent the DVD library's data elements. Mapping entities to tables is a fundamental skill in database design, and this assignment provides students with the opportunity to apply this skill in a real-world context. Furthermore, students are guided in the development of a relational scheme, a vital component of any well-designed database system. The relational scheme establishes the relationships between the various tables and defines the keys that link them together. This aspect of the assignment underscores the importance of database integrity, as students learn how to maintain data consistency and coherence throughout the system. The creation of tables is also central to the assignment, with students tasked with defining the structure of these tables, specifying data types, and establishing relationships between them. This process mirrors the practical steps involved in constructing a functional database that can efficiently manage data related to the personal DVD library. Query design is another critical facet of this assignment. Students are encouraged to create meaningful and effective queries that align with the library's requirements. Through this exercise, students enhance their ability to retrieve and manipulate data, showcasing the practical relevance of a well-designed database system. Finally, the assignment culminates with the development of a user manual—a critical aspect of any professional database project. Students are challenged to document the database's structure, functionality, and usage guidelines in a clear and concise manner. Effective documentation is a hallmark of database professionalism, and students gain valuable experience in articulating complex technical information for end-users. In conclusion, the "HND SEC4205 Database Design and Development Assignment: Personal DVD Library" empowers HND students with practical skills in database design and development. Beyond theoretical knowledge, this assignment equips students to apply their expertise to real-world scenarios. The ability to create an ER diagram, map entities to tables, establish a relational scheme, design tables and queries, and document the system in a user manual is invaluable in the field of information technology and database management. As students complete this assignment, they not only fulfill the academic requirements of SEC4205 but also enhance their readiness to excel in the ever-evolving landscape of database design and development.

Implementation of Recursive Algorithms in Student Grading System

Below code segmentation is quoted from GradeReportUI class.           

Figure 41: Implementation of Recursive Algorithms in Student Grading System

In here, recursion is used for binary search. To search specific student id/record from an array this recursive binary search is used.

String Operations

There can be found many String operations in Java.

·         public char charAt(int index) method

The character which is located at the specified index of the String is returned by this method. (Note: String indexes are started from 0).

Ex: String name=â€Amalâ€;

       System.out.println (name.charAt (2));     //output is ‘a’

·         public String concat (String s) method

This method appends string which is passed as the argument of the method, at the end of the string which is used to invoke the method and returns that whole string.

Ex: String name=â€Amalâ€;

       System.out.println (name.concat (“Pereraâ€)); //output is ‘Amal Perera’

Note: Using overloaded += and + operators, this function can be performed.

·         public boolean equalsIgnoreCase(String s) method

Boolean value is returned comparing the string which is used to invoke the method and the value which is used as the argument. If the two strings are same though the case is different, true will be returned. If two strings are not same, then it will return false as the output.

String name=â€Amalâ€;

System.out.println (name.equalsIgnoreCase (“Kamalâ€)); // print false

System.out.println (name.equalsIgnoreCase (“Amalâ€)); //print true

System.out.println (name.equalsIgnoreCase (“AMALâ€)); //print true

·         public boolean equals(String s) method

Boolean value is returned comparing the string which is used to invoke the method and the value which is used as the argument. If the two strings are same (note: this method is case sensitive) true will be returned. If two strings are not same, then it will return false as the output.

String name=â€Amalâ€;

System.out.println (name.equals (“Kamalâ€)); // print false

System.out.println (name.equals (“Amalâ€)); //print true

System.out.println (name.equals (“AMALâ€)); //print false

·         public int length() method

Length of the String which is used to invoke the method will be returned.

String name=â€Amalâ€;

System.out.println (name.length ()); // print 4

·         public String replace(char old, char new) method

Occurrences of a character (first argument of the method) of String which is used to invoke the method, is replaced with a new character (second argument of the method) and updated string will be returned.

String name=â€ABABABABAâ€;

System.out.println (name.replace (‘B’,’b’)); //print AbAbAbAbA

·         public String substring(int begin) method

·         public String substring(int begin, int end) method

Substring (a part) of a String which is used to invoke the method will be returned by these two methods. The starting location of the substring is represented by the first argument. If there are two arguments in the method, ending location of the substring is denoted by the second argument.

String s=â€abcdefghijâ€;

System.out.println (s.substring (5)); //print ‘fghij’ as the output

System.out.println (s.substring (5, 8)); //print ‘fgh’ as the output

·         public String toLowerCase() method

Uppercase characters of the String which is used to invoke the method will be converted into lower case characters and that converted String will be returned.

String a=â€AbcDefâ€;

System.out.println (a.toLowerCase ()); //print ‘abcdef’ as the output

·         public String toUpperCase() method

Lowercase characters of the String which is used to invoke the method will be converted into upper case characters and that converted String will be returned.

String a=â€AbcDefâ€;

System.out.println (a.toLowerCase ()); //print ‘ABCDEF’ as the output

·         public String toString() method

This method is overridden in String class from Object class. The value of String which is used to invoke the method will be returned.

String a=â€AbcDefâ€;

System.out.println (a.toString ()); //print ‘AbcDef’ as the output

·         public String trim() method

Trailing or leading blank spaces of the String which is used to invoke the method will be removed and String which its blank spaces are removed is returned.

String s=â€Â Â Â Â  hii     â€;

System.out.println (s+â€Hiâ€); //print as ‘     hii     Hi‘

System.out.println (s.trim () +â€Hiâ€);   //print as ‘hiiHi’

·         public static String valueOf(boolean b) method

·         public static String valueOf(char c) method

·         public static String valueOf(char[] data) method

·         public static String valueOf(int i) method

·         public static String valueOf(long l) method

·         public static String valueOf(float f) method

·         public static String valueOf(double d) method

·         public static String valueOf(Object ob) method

These valueOf () methods return the String representation of the given argument.

·         public int compareTo(String anotherString) method

Two Strings are compared lexicographically by this method.  The character sequence represented by the String object which is used to invoke the method is compared lexicographically to the character sequence represented by the string which is used as the argument of the method.

If the String object which is used to invoke the method lexicographically precedes the String which is passed as the argument of the method, negative integer will be returned by this method.

If the String object which is used to invoke the method lexicographically follows the String which is passed as the argument of the method, positive integer will be returned by this method.

If two strings are equal, 0 will be returned.

String Operations which is Implemented in ‘Student Grading System’

·         public int length() method

·         public char charAt(int index) method

·         public static String valueOf(char[] data) method

 

Below code segmentation is quoted from Encryption class.

valueOf (char [] data)

charAt () method

r

Figure 42: string operation implementation-part 1

This Encryption class is for encrypting passwords that are entered by the user. In 1st location length () method is used to get length of the String (in here String is password entered by the user) to create the conditional expression of the ‘for’ loop. That ‘for’ loop is used for getting all the characters of password one by one and pushing them into the stack. If length of the password entered by the user is 8, then length () method will return 8, so until ‘i’ gets 8 for loop will be executed. In each executing round, character in the ‘i’ th index will be retrieved using charAt () method, because charAt () method returns the character at a specific given index and that character will be pushed into the stack. All the characters in the String (password) will be retrieved one by one because ‘i’ is incrementing by one in each round and conditional statement is i

In 2nd location also length () method is used to get the length of the String (password). This returned length is useful to create the array giving sufficient size to store all the characters of the String which are popped by the stack. If array size is less than the length of the String (password), all the characters cannot be able to store or if size is greater than the length of the String, memory will be wasted. So considering these facts, length () method is used to give proper size when creating array.

In the return statement valueOf (char [] data) method is used to return the String representation of encryptPwd char array.

·         public int compareTo(String anotherString) method

·         public boolean equals(String s) method

compareTo () method

equals () method


Figure 43: String operation implemention-part2

Above code segmentation is quoted from GradeReportUI class. In here using equals () method, it is checked whether the student id String objects, which are attributes/members of ‘Grade’ objects, which are stored in the ‘a’ array, is equal to user entered student id (String object) or not. It is checked whether the character sequence of two String objects and if that character sequence is same, then it will return true as the output. If not it will return false.

Using compareTo () method, the character sequence of student id String Objects, which are attributes/members of ‘Grade’ objects, which are stored in the ‘a’ array is lexicographically compared to the character sequence of user entered student id String Object. Using this if statement it is checked whether the student id String Object which is stored in that Object array precedes the user entered student id String Object or not. If precedes ‘recursiveBinarySearch (stdId, a, curIn+1, upper)’ will be returned, if not ‘recursiveBinarySearch (stdId, a, lower, curIn-1)’ will be returned.

Below code segmentation shows another usage of equals () method.

equals () method


Figure 44: String operation implementation-part 3

In here using equals method, it is checked whether the character sequence of user entered password (this is a String object) and password in the database is same or not. If it is same, then MainFrame (Home Page) will be appeared.

(Kathy Sierra, 2008)/ (Oracle, 2011)


 

Software Testing

Importance of Software Testing

Software testing can be interpreted as the process of validation and verification. Quality of the software product is assessed through testing. A perfect piece should be always gone to users. That’s why testing is needed.

Importance of Test Plan

Without effective test plan, doing testing is useless. Well organized test plan is useful for delivering quality product.

Test Plan for Student Grading System

Introduction

This document gives a complete planning for software testing of Student Grading System. Student Grading System consists of numerous features. This test plan is designed to make sure those features are working in proper way.

Objectives

  • Identify the approach which should be followed.
  • Identify the features which should be tested.
  • List the recommended test requirements
  • Describe and recommend the testing strategies
  • Identify the required hardware and software resources
  • Create the schedule of proposed testing activities

 

Scope

Testing will start from the component level and go towards the integration of whole system. Major system functions of Student Grading System will be validated by this plan. Though the system has more features, those features have been prioritized and according to the priority, testing will be conducted.

This test plan is mainly for testing user friendliness of the system, security testing, validation testing and testing for functional requirements those in the requirement specification.

Audience

Main audience of this test plan are developers and testers.

Functions to be tested

  • Login including encryption mechanism
  • Access privileges
  • User friendliness of the system
  • Validations
  • Error messages
  • SQL coding for adding, deleting, finding, editing and displaying data-main functional requirements.
  • Performance of system

Functions not to be tested

No functions other than point out above in “Functions to be tested†section.

Hardware Required

A computer with Intel or compatible Pentium III 600MHz or faster processor, 512MB memory and 3GB of available hard disk space.

Software Required

Netbeans 7.4 or 8

JDK 7 or 8

MS-Access

Foxit Reader or Adobe Reader

Responsibilities

Test plan and test cases should be created by testers. Conducting different types of testing should be done by testers. But unit testing is done by developers while developing the system. Feedback provided by the beta testers that means users should be reviewed by testers.

Schedule

Test Phase

Responsible Person

Time

Test Plan Creation

Test Manager

1 Week

Unit Testing

Developer

Developing time

Integration Testing

Tester

1 Week

Use case validation

Tester

1 Week

User Interface testing

Tester

1 Week

Performance testing

Tester

1 Week

Beta testing

Beta testers

1 Week

Figure 45: schedule

Bottom-up Approach vs. Top-down Approach

In bottom-up approach it is started from the methods and gone to the whole system. Each method is tested individually and after the whole system is taken as the one unit and tested it finally. So test conditions can be created easily. Compiling and running the each method individually, test results can be examined easily and debugged the code easily. Errors can be eliminated and fixed the code at early stages.

In top-down approach whole the system is tested taking as the one unit and then after the each method is tested individually. So creating test conditions is difficult. Observation of results is also difficult. It is difficult to search the error and fix the code when errors are occurred at compiling and running the whole program. Debugging the code is difficult. Because when compiling and running the whole code, each method cannot be tested individually because one method invokes some other methods also, so when an error is occurred it is difficult to search where the wrong is.

There are more methods, more classes, more repetition structure, more if-else statements in the Student Grading System, so if a syntax or logical error occurred (especially logical error) when running the whole program, it is difficult to search where the mistake is. Fixing errors one by one in each method is easy to handle.

So for this application, bottom-up approach is used. (Stuff, 2014)

 

Basic Testing Methods

White Box Testing

This testing method is used for verification of the software.

Steps to carry out White box testing
  1. Functionality of the software should be understood by examining the source code.
  2. Test cases should be created and executed.

Types of White box testing Techniques

Unit Testing

For this application, first Unit testing is done to check whether each individual unit is working correctly and according to the requirements. By implementing this testing technique, it can be checked whether the unit is giving expected output or not.

Each classes are compiled individually to check whether there are syntax errors. If there are syntax errors, source code is fixed and errors are eliminated. In here, first, one method is coded inside the class and then the class is compiled. If there are no syntax errors, rest of the methods are implemented one by one and compiled. After compiling one method, it is run to check logical errors. A set of inputs are given and then the output is checked whether it has produced the expected values according to the user requirements. If expected output is not produced, then the code is checked and errors are fixed. Exceptions that are occurred when invalid inputs are given, are handled gracefully. This process is done one by one to each method, taking method as the unit. Finally, after adding all the methods inside the class, this testing is done taking class as the unit.

Example: When considering GradeReportUI class, method for "Sort By Unit ID†button/sorting data is written inside the class and compiled. After compilation, class file is executed to check whether there are logical errors or not. If there are, source code is checked and errors are fixed. Then after method for “Search By Student ID†button/searching data is written, compiled and run. Like this other methods are also implemented and tested one by one.

Below are some unit testing techniques that can be used.

Statement Coverage

It is validated/ensured that each line of the source code is executed at least once by this method.

Branch Coverage

By implementing this method, it is validated that each branch (such as If-else statement) is executed.

Path Coverage

This technique ensures that all the paths of the application are executed at least once.

(HELP, 2015)

Example:

Below code is extracted from Home class.

Figure 46: Sample code where Statement coverage can be used.

In here, it is sufficient to do the Statement coverage. If all the lines are executed, newUser, changePass and deleteUser menu items should not be enabled for normal user.

But for below code it is not sufficient to do Statement coverage alone. Branch coverage also should be performed.

Figure 47: Sample code where Brach coverage can be used.

If Branch coverage is not performed, negative side of the code (that means else clause) cannot be checked. So in this situation, two test cases (one test case for checking positive side-statements inside if clause and other test case for checking negative side-statements inside the else clause) should be prepared.

For the below code it is not sufficient for doing only Branch coverage. Path coverage also should be performed. Below code is from Login class.

Figure 48: Sample code where Path coverage can be used.

This code snippet has more paths to check. So it is suitable to do Path coverage. There should be 8 test cases to do this. That test cases are clearly mentioned in the test cases section.





tasks24.comtasks24.com

SIMILAR TASKS

Chandrayaan-3 Moon Landing: A Historic Milestone in Lunar Exploration
Explore the monumental achievement of India's Chandrayaan-3 Moon Landing, marking a significant milestone in lunar exploration. Discover the role of private enterprises, the intrigue of the Moon's south pole, and.....
Read More
Solved Paper: Rural Culture's Impact on Health Services in International Relations
Explore how rural culture affects health services with real-world examples from Pakistan and learn about Participatory Rural Appraisal methods in this BS International Relations paper......
Read More
Solved Research Methodology Questions for International Relations Students
Get answers to key qualitative research questions in this example paper for BS in International Relations students......
Read More
Understanding Child Labor's Physical Abuse: A Qualitative Study in Pakistan
Explore the factors, consequences, and impacts of physical abuse experienced by child labor in Pakistan through qualitative research......
Read More
Nationalism's Role in International Conflicts and Peace
Explore the historical evolution of nationalism's impact on war, peace, and stability in international politics from the French Revolution to Totalitarianism......
Read More


MOST POPULAR TASKS

BS in Law Criminology Solved Paper 2022: Classical, Positivist, and Critical Perspectives
Explore the 2022 solved paper in criminology, covering classical criminology, positivism, and critical criminology perspectives......
Read More
Effective Leadership vs. Management Roles: Insights from Shell V1
Assignment/Case study to Explore the dynamics of leadership & management in Shell Pakistan. Discover insights on roles, theories, and strategies for success. .....
Read More
Unit 09 BTEC Level 5 Entrepreneurship and Small Business Management (ESBM) Assignment V5
Explore the influence of entrepreneurial ventures on economies. Assess micro and small businesses' effects on economies using authentic data......
Read More
BS in Law LA3005 Jurisprudence and Legal Theory: Solved Paper May 2021
This subject is part of BS in Law (University of London). The content includes solved paper of University of London for Jurisprudence and Legal Theory. .....
Read More
Global Strategy, Development and Implementation: Solved Papers | Mockups
Get the best solved Papers and Mockups in Global Strategy, Development and Implementation. .....
Read More
Human Resources Management at Toyota: BTEC Level 5 Assignment
Explore HRM techniques and strategies using Toyota's as a case study. Learn how to manage and implement HRM principles for business success......
Read More
Unit 12 BTEC Level 4 Organizational Behavior Assignment: Mitsubishi Case Study
Explore organizational behavior, including politics, culture, motivation, and leadership, through the lens of the Mitsubishi case study......
Read More
Unlocking Business Potential with Statistics for Management V2
Enhance decision-making and competitiveness. Explore Key Characteristics, Data Analysis, and More in Statistics for Management......
Read More
Effective Leadership vs. Management Roles: Insights from Shell V2
Assignment/Case study to Explore the dynamics of leadership & management in Shell Pakistan. Discover insights on roles, theories, and strategies for success. .....
Read More
BS in Law Criminology Solved Paper 2022: Feminism, Gender, and Rational Actor Theory
Explore the 2022 solved paper in criminology, covering feminism, gender, rational actor theory, sociological, and psychological factors in crime......
Read More
Download Task Files